import UIKit

//
@available(iOS 13.0, *)
extension QKC where AA :UIScene {
	// The existing representation which references this UIScene instance
    open func session_qk_g() -> QKC<AA,YY,ZZ, UISceneSession >{
		 self +^ self.value.session
	}

	// A strong ref here relieves clients of the responsibility of managing the delegate lifetime directly.
    open func delegate_qk_s(_ delegate:  UISceneDelegate?) -> QKC<AA,YY,ZZ, UISceneDelegate?>{
		return link(next: delegate).then_QK { $0.value.delegate = delegate }
	}
    open func delegate_qk_g() -> QKC<AA,YY,ZZ, UISceneDelegate?>{
		 self +^ self.value.delegate
	}

	// the activation state of this scene
    open func activationState_qk_g() -> QKC<AA,YY,ZZ, UIScene.ActivationState >{
		 self +^ self.value.activationState
	}

	// If set to nil or an empty string, the system will not display a title.
    open func title_qk_s(_ title:  String) -> QKC<AA,YY,ZZ, String>{
		return link(next: title).then_QK { $0.value.title = title }
	}
    open func title_qk_g() -> QKC<AA,YY,ZZ, String>{
		 self +^ self.value.title
	}

	// use the activation conditions to influence which scene is activated for banner taps, URLs, etc.
    open func activationConditions_qk_s(_ activationConditions:  UISceneActivationConditions) -> QKC<AA,YY,ZZ, UISceneActivationConditions>{
		return link(next: activationConditions).then_QK { $0.value.activationConditions = activationConditions }
	}
    open func activationConditions_qk_g() -> QKC<AA,YY,ZZ, UISceneActivationConditions>{
		 self +^ self.value.activationConditions
	}

	// The completion handler is called on the main queue.
    open func open_qk_f(_ url: URL, options: UIScene.OpenExternalURLOptions?, completionHandler completion: ((Bool) -> Void)? = nil) -> QKC<AA,YY,ZZ, URL>{
		 self +^ self.value.open(url, options:options, completionHandler:completion) +^ url
	}

}

